{% macro render_field(field) %} <!-- 定义字段宏 -->
  <dt>{{ field.label }}:
  <dd>{{ field(**kwargs)|safe }}
  {% if field.errors %}
    <ul class=errors>
    {% for error in field.errors %}
      <li>{{ error }}</li>
    {% endfor %}
    </ul>
  {% endif %}
  </dd>
{% endmacro %}

<!-- 登录表单 -->
<form method="POST">
    {{ form.csrf_token }}
    {{ render_field(form.username) }}
    {{ render_field(form.password) }}
    {% if form.password_2 %}  <!-- 如果是注册 -->
        {{ render_field(form.password_2) }}
    {% endif %}
    {% if emsg %}  <!-- 如果有错误信息 则显示 -->
        <h3> {{ emsg }}</h3>
    {% endif %}
    {% if form.password_2 %}  <!-- 如果是注册 -->
        <input type="submit" value="注册">
    {% else %}
        <input type="submit" value="登录">
    {% endif %}
</form>